<!DOCTYPE html>
<title>document.contentType</title>
<link rel="help" href="https://dom.spec.whatwg.org/#dom-document-contenttype">
<script src="../../resources/js-test.js"></script>
<body>
<p>
<iframe data-mt="text/html"></iframe>
<iframe data-mt="text/xml"></iframe>
<iframe data-mt="application/xml"></iframe>
<iframe data-mt="image/svg+xml"></iframe>
</p>
<script>
window.jsTestIsAsync = true;

var events = [];

window.onmessage = function(e) {
    // For consistent ordering, we capture the events, sort them and then test them.
    if (e.data)
        events.push(e);
    else
        testFailed("Null message payload");

    if (--expectedMessagesCount == 0) {
        events.sort((e1, e2) => {
            if (e1.data.obtained < e2.data.obtained) {
                return -1;
            } if (e1.data.obtained > e2.data.obtained) {
                return 1;
            } else {
                return 0;
            }
        });
        for (var i in events) {
            var e = events[i];
            shouldBe('"' + e.data.obtained + '"', '"' + e.data.expected + '"');
        }
        finishJSTest();
    }
};

var documentContents = '<script xmlns="http://www.w3.org/1999/xhtml">' +
    'parent.postMessage(' +
        '{obtained: document.contentType, expected: "{0}"}, "*");' +
    '<' + '/script>';

var iframes = document.getElementsByTagName('iframe');
for (var k = 0, f; f = iframes[k]; k++) {
    f.src = 'data:' + f.dataset.mt + ',' +
        encodeURIComponent(documentContents.replace('{0}', f.dataset.mt));
}

var expectedMessagesCount = iframes.length;

</script>
